FileUtils ক্লাস Apache Commons IO লাইব্রেরির একটি গুরুত্বপূর্ণ ইউটিলিটি ক্লাস, যা ফাইল ম্যানিপুলেশন সম্পর্কিত সাধারণ কাজগুলো সহজ এবং কার্যকরীভাবে সম্পাদন করতে ব্যবহৃত হয়। এই ক্লাসটি Java I/O API এর উপর অতিরিক্ত সুবিধা প্রদান করে এবং বিভিন্ন ফাইল অপারেশন যেমন কপি, রিড, রাইট, ডিরেক্টরি ম্যানিপুলেশন ইত্যাদি কার্যকরীভাবে করতে সহায়তা করে।
FileUtils ক্লাসটি বেশ কিছু static মেথড সরবরাহ করে, যা ফাইল এবং ডিরেক্টরি সম্পর্কিত কাজগুলো সম্পাদন করতে সহজ করে তোলে।
copyFile()
মেথডটি একটি ফাইল থেকে অন্য ফাইলে কপি করার জন্য ব্যবহৃত হয়।
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
public class FileUtilsExample {
public static void main(String[] args) throws IOException {
File sourceFile = new File("source.txt");
File destinationFile = new File("destination.txt");
// Copy file from source to destination
FileUtils.copyFile(sourceFile, destinationFile);
System.out.println("File copied successfully.");
}
}
এখানে:
copyFile()
মেথডটি source.txt
ফাইলটি destination.txt ফাইলে কপি করবে।readFileToString()
মেথডটি একটি ফাইলের কনটেন্ট স্ট্রিং আকারে পড়তে ব্যবহৃত হয়।
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
public class ReadFileExample {
public static void main(String[] args) throws IOException {
File file = new File("source.txt");
// Read file content into string
String content = FileUtils.readFileToString(file, "UTF-8");
System.out.println("File Content: " + content);
}
}
এখানে:
readFileToString()
ফাইলের কনটেন্ট স্ট্রিং আকারে পড়েছে এবং UTF-8 এনকোডিং ব্যবহার করা হয়েছে।write()
মেথডটি একটি ফাইলে ডেটা লিখতে ব্যবহৃত হয়।
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
public class WriteFileExample {
public static void main(String[] args) throws IOException {
File file = new File("output.txt");
// Write string content to file
FileUtils.writeStringToFile(file, "This is a test content.", "UTF-8");
System.out.println("Content written to file successfully.");
}
}
এখানে:
writeStringToFile()
মেথডটি output.txt
ফাইলে একটি স্ট্রিং লিখেছে।sizeOf()
মেথডটি একটি ফাইলের আকার নির্ধারণ করতে ব্যবহৃত হয়।
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
public class FileSizeExample {
public static void main(String[] args) throws IOException {
File file = new File("source.txt");
// Get file size
long fileSize = FileUtils.sizeOf(file);
System.out.println("File size: " + fileSize + " bytes");
}
}
এখানে:
sizeOf()
মেথডটি source.txt
ফাইলের আকার রিটার্ন করবে (বাইটে)।mkdirs()
মেথডটি একটি ডিরেক্টরি এবং সাব-ডিরেক্টরি তৈরি করতে ব্যবহৃত হয়।
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
public class DirectoryExample {
public static void main(String[] args) throws IOException {
File directory = new File("new_directory");
// Create directory
FileUtils.forceMkdir(directory);
System.out.println("Directory created successfully.");
}
}
এখানে:
forceMkdir()
মেথডটি একটি নতুন ডিরেক্টরি তৈরি করবে।listFiles()
মেথডটি একটি ডিরেক্টরির মধ্যে সব ফাইল এবং সাব-ডিরেক্টরি গুলির লিস্ট রিটার্ন করে।
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
public class DirectoryScanExample {
public static void main(String[] args) throws IOException {
File directory = new File("/path/to/directory");
// List all files in directory
File[] files = FileUtils.listFiles(directory, null, true).toArray(new File[0]);
for (File file : files) {
System.out.println(file.getAbsolutePath());
}
}
}
এখানে:
listFiles()
মেথডটি ডিরেক্টরি এবং তার সাব-ডিরেক্টরি গুলির ফাইলগুলি রিটার্ন করবে।deleteDirectory()
মেথডটি একটি ডিরেক্টরি এবং তার সমস্ত কনটেন্ট মুছে ফেলার জন্য ব্যবহৃত হয়।
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
public class DeleteDirectoryExample {
public static void main(String[] args) throws IOException {
File directory = new File("directoryToDelete");
// Delete the directory and its contents
FileUtils.deleteDirectory(directory);
System.out.println("Directory deleted successfully.");
}
}
এখানে:
deleteDirectory()
মেথডটি একটি ডিরেক্টরি এবং তার সমস্ত কনটেন্ট মুছে ফেলবে।moveFile()
: একটি ফাইল এক স্থান থেকে অন্য স্থানে সরাতে ব্যবহৃত হয়।copyDirectory()
: একটি ডিরেক্টরি এবং তার সমস্ত কনটেন্ট কপি করতে ব্যবহৃত হয়।deleteQuietly()
: এটি একটি ফাইল বা ডিরেক্টরি মুছে ফেলে, কিন্তু কোন এক্সসেপশন থ্রো করে না।readFileToByteArray()
: ফাইল থেকে বাইট অ্যারে রিড করতে ব্যবহৃত হয়।writeByteArrayToFile()
: বাইট অ্যারে থেকে ফাইল তৈরি করতে ব্যবহৃত হয়।আপনি যদি Apache Commons IO ব্যবহার করতে চান, তবে আপনাকে এটি আপনার প্রোজেক্টে যোগ করতে হবে। যদি আপনি Maven ব্যবহার করেন, তবে আপনার pom.xml ফাইলে নিম্নলিখিত ডিপেনডেন্সি যোগ করতে হবে:
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-io</artifactId>
<version>2.11.0</version>
</dependency>
এটি Apache Commons IO লাইব্রেরি আপনার প্রোজেক্টে যোগ করবে, যার মাধ্যমে আপনি FileUtils এবং অন্যান্য ফিচার ব্যবহার করতে পারবেন।
FileUtils ক্লাস Apache Commons IO লাইব্রেরির একটি অত্যন্ত গুরুত্বপূর্ণ ইউটিলিটি ক্লাস যা ফাইল এবং ডিরেক্টরি ম্যানিপুলেশন কাজগুলোকে সহজ করে তোলে। এটি ফাইল কপি, রিড, রাইট, ডিরেক্টরি তৈরি এবং মুছে ফেলা, ফাইলের আকার নির্ধারণ এবং ডিরেক্টরি স্ক্যানিংয়ের মতো সাধারণ কাজগুলো দ্রুত এবং কার্যকরীভাবে করতে সহায়তা করে। FileUtils ব্যবহার করে Java I/O সম্পর্কিত কাজগুলির জন্য কোড আরও সংক্ষিপ্ত, পরিষ্কার এবং সহজ হয়।
Apache Commons IO লাইব্রেরির FileUtils ক্লাস একটি অত্যন্ত জনপ্রিয় এবং শক্তিশালী ক্লাস যা ফাইল সম্পর্কিত বিভিন্ন অপারেশন (যেমন কপি, মুভ, রিনেম, ডিলিট ইত্যাদি) সহজভাবে এবং দ্রুত করতে সহায়তা করে। এটি Java এর স্ট্যান্ডার্ড I/O API এর বাইরে কিছু অতিরিক্ত ফাংশনালিটি সরবরাহ করে, যা ফাইল এবং ডিরেক্টরি ম্যানিপুলেশনকে সহজ, কার্যকর এবং সাশ্রয়ী করে তোলে।
FileUtils ক্লাসটি ফাইল অপারেশনগুলোতে কমপ্লেক্সিটি কমানোর জন্য বেশ কিছু ইজি-টু-ইউজ (easy-to-use) মেথড প্রদান করে, যা ডেভেলপারদের বারবার একই ধরনের কোড লেখার প্রয়োজনীয়তা কমিয়ে দেয় এবং ফাইল ম্যানিপুলেশন অনেক সহজ করে তোলে। আপনি এটি ব্যবহার করে ফাইল কপি, মুভ, রিনেম, ডিলিট ইত্যাদি অপারেশনগুলো করতে পারেন খুব সহজেই।
FileUtils ক্লাসটি একাধিক ফাইল অপারেশন করতে সহায়তা করে, যেমন:
এখানে কিছু প্রধান মেথডের উদাহরণ দেওয়া হলো, যা ফাইল এবং ডিরেক্টরি অপারেশনগুলো সহজ এবং দ্রুত করতে ব্যবহৃত হয়।
এই মেথডটি একটি ফাইলকে একটি নির্দিষ্ট গন্তব্যে কপি করতে ব্যবহৃত হয়।
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
public class FileUtilsExample {
public static void main(String[] args) {
File sourceFile = new File("source.txt");
File destinationFile = new File("destination.txt");
try {
// Copy file using FileUtils
FileUtils.copyFile(sourceFile, destinationFile);
System.out.println("File copied successfully!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
এখানে:
FileUtils.copyFile()
মেথডটি source.txt
ফাইলটিকে destination.txt
ফাইলে কপি করবে।এই মেথডটি একটি ফাইলকে অন্য স্থানে মুভ করতে ব্যবহৃত হয়।
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
public class FileUtilsExample {
public static void main(String[] args) {
File sourceFile = new File("source.txt");
File destinationFile = new File("newLocation.txt");
try {
// Move file using FileUtils
FileUtils.moveFile(sourceFile, destinationFile);
System.out.println("File moved successfully!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
এখানে:
FileUtils.moveFile()
মেথডটি ফাইলটি source.txt
থেকে নতুন অবস্থান newLocation.txt
এ সরিয়ে নেবে।এই মেথডটি ফাইলের নাম পরিবর্তন করতে ব্যবহৃত হয়।
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
public class FileUtilsExample {
public static void main(String[] args) {
File oldFile = new File("oldName.txt");
File newFile = new File("newName.txt");
try {
// Rename file using FileUtils
FileUtils.moveFile(oldFile, newFile);
System.out.println("File renamed successfully!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
এখানে:
FileUtils.moveFile()
মেথডটি oldName.txt
ফাইলটির নাম পরিবর্তন করে newName.txt
করে দিবে।এই মেথডটি একটি ফাইল মুছে ফেলতে ব্যবহৃত হয়।
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
public class FileUtilsExample {
public static void main(String[] args) {
File file = new File("fileToDelete.txt");
try {
// Delete file using FileUtils
FileUtils.forceDelete(file);
System.out.println("File deleted successfully!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
এখানে:
FileUtils.forceDelete()
মেথডটি fileToDelete.txt
ফাইলটি মুছে ফেলবে।এটি একটি নতুন ডিরেক্টরি তৈরি করতে ব্যবহৃত হয়।
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
public class FileUtilsExample {
public static void main(String[] args) {
File directory = new File("newDirectory");
try {
// Create directory using FileUtils
FileUtils.forceMkdir(directory);
System.out.println("Directory created successfully!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
এখানে:
FileUtils.forceMkdir()
মেথডটি newDirectory
নামের একটি নতুন ডিরেক্টরি তৈরি করবে।এটি একটি ফাইল থেকে কনটেন্ট পড়তে ব্যবহৃত হয়।
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
public class FileUtilsExample {
public static void main(String[] args) {
File file = new File("sample.txt");
try {
// Read file content to string
String content = FileUtils.readFileToString(file, "UTF-8");
System.out.println(content);
} catch (IOException e) {
e.printStackTrace();
}
}
}
এখানে:
FileUtils.readFileToString()
মেথডটি sample.txt
ফাইলের কনটেন্টকে স্ট্রিং আকারে পড়বে।এই মেথডটি একটি স্ট্রিংকে ফাইলে লিখতে ব্যবহৃত হয়।
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
public class FileUtilsExample {
public static void main(String[] args) {
File file = new File("output.txt");
try {
// Write string to file
String content = "Hello, World!";
FileUtils.writeStringToFile(file, content, "UTF-8");
System.out.println("Content written to file successfully!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
এখানে:
FileUtils.writeStringToFile()
মেথডটি একটি স্ট্রিং Hello, World!
ফাইলে লিখে দিবে।Apache Commons IO - FileUtils ক্লাস Java ডেভেলপারদের জন্য একটি অত্যন্ত শক্তিশালী টুল যা ফাইল ম্যানিপুলেশন অপারেশনগুলো সহজ এবং দ্রুত করার জন্য ব্যবহৃত হয়। এটি ফাইল কপি, মুভ, রিনেম, ডিলিট, ফাইল রিডিং এবং রাইটিং এর মতো অনেক কাজ দ্রুত এবং কার্যকরভাবে করতে সাহায্য করে। এর ব্যবহার সহজ, কার্যকর এবং উন্নত সিস্টেম কর্মক্ষমতা প্রদান করে।
Apache Commons IO লাইব্রেরি FileUtils ক্লাস সরবরাহ করে যা ফাইল ও ডিরেক্টরি সম্পর্কিত কার্যাবলী অনেক সহজ করে তোলে। এর মধ্যে অন্যতম গুরুত্বপূর্ণ কার্যাবলী হলো ফাইল কপি করা এবং ডিরেক্টরি কপি করা। copyFile() এবং copyDirectory() মেথডগুলি এই কার্যাবলী সম্পাদন করতে ব্যবহৃত হয়।
FileUtils.copyFile() এবং FileUtils.copyDirectory() মেথডগুলি ফাইল বা ডিরেক্টরি কপি করার জন্য খুবই কার্যকরী এবং সহজ ব্যবহারযোগ্য। এই মেথডগুলো IOException ছুঁড়ে ফেলে, তাই এগুলি ব্যবহারের সময় exception handling করা উচিত।
copyFile() মেথডটি ব্যবহার করে আপনি একটি ফাইলকে এক স্থান থেকে অন্য স্থানে কপি করতে পারেন। এটি একটি ফাইলের সমস্ত কন্টেন্ট এবং মেটাডেটা কপি করে।
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
public class CopyFileExample {
public static void main(String[] args) {
try {
File sourceFile = new File("source.txt"); // সোর্স ফাইল
File destinationFile = new File("destination.txt"); // গন্তব্য ফাইল
// ফাইল কপি করা
FileUtils.copyFile(sourceFile, destinationFile);
System.out.println("ফাইল কপি সফল!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
এখানে:
আউটপুট:
ফাইল কপি সফল!
copyDirectory() মেথডটি ব্যবহার করে আপনি একটি ডিরেক্টরি এবং তার মধ্যে থাকা সমস্ত ফাইল এবং সাবডিরেক্টরিগুলো কপি করতে পারেন। এটি রিকার্সিভলি (recursive) কাজ করে, অর্থাৎ ডিরেক্টরি এবং তার ভিতরের সমস্ত উপাদান কপি করবে।
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
public class CopyDirectoryExample {
public static void main(String[] args) {
try {
File sourceDir = new File("sourceDir"); // সোর্স ডিরেক্টরি
File destDir = new File("destinationDir"); // গন্তব্য ডিরেক্টরি
// ডিরেক্টরি কপি করা
FileUtils.copyDirectory(sourceDir, destDir);
System.out.println("ডিরেক্টরি কপি সফল!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
এখানে:
আউটপুট:
ডিরেক্টরি কপি সফল!
FileUtils.copyFile() এবং FileUtils.copyDirectory() মেথডের কিছু অতিরিক্ত ফিচার রয়েছে, যেমন ফাইল কপি করার সময় overwrite করা, অথবা filtering করা (যেমন, শুধুমাত্র নির্দিষ্ট ফাইল কপি করা)।
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
public class CopyFileWithOverwriteExample {
public static void main(String[] args) {
try {
File sourceFile = new File("source.txt"); // সোর্স ফাইল
File destinationFile = new File("destination.txt"); // গন্তব্য ফাইল
// ফাইল কপি করা, যদি গন্তব্য ফাইল আগে থেকেই থাকে তবে তার উপরে লেখা হবে
FileUtils.copyFile(sourceFile, destinationFile);
System.out.println("ফাইল কপি সফল, আগের ফাইলটি ওভাররাইট করা হয়েছে!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
import org.apache.commons.io.filefilter.WildcardFileFilter;
public class CopyDirectoryWithFilterExample {
public static void main(String[] args) {
try {
File sourceDir = new File("sourceDir"); // সোর্স ডিরেক্টরি
File destDir = new File("destinationDir"); // গন্তব্য ডিরেক্টরি
// শুধু .txt ফাইল কপি করা
FileUtils.copyDirectory(sourceDir, destDir, new WildcardFileFilter("*.txt"));
System.out.println("ফাইল ফিল্টারিং সহ ডিরেক্টরি কপি সফল!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
এখানে:
copyDirectoryToDirectory(): একটি ডিরেক্টরি অন্য একটি ডিরেক্টরির মধ্যে কপি করার জন্য ব্যবহৃত হয়।
File sourceDir = new File("sourceDir");
File destinationDir = new File("destinationDir");
FileUtils.copyDirectoryToDirectory(sourceDir, destinationDir);
copyFileToDirectory(): একটি ফাইল একটি ডিরেক্টরির মধ্যে কপি করার জন্য ব্যবহৃত হয়।
File sourceFile = new File("source.txt");
File destDir = new File("destinationDir");
FileUtils.copyFileToDirectory(sourceFile, destDir);
Apache Commons IO লাইব্রেরি ফাইল এবং ডিরেক্টরি কপি করার জন্য সহজ এবং কার্যকরী মেথড সরবরাহ করে। FileUtils.copyFile() এবং FileUtils.copyDirectory() মেথডগুলির মাধ্যমে আপনি সহজে একটি ফাইল বা ডিরেক্টরি কপি করতে পারেন। এগুলির সঙ্গে আরও অনেক শক্তিশালী ফিচার রয়েছে, যেমন ফাইল ফিল্টারিং, ফাইল ওভাররাইটিং এবং ডিরেক্টরি কপি করা, যা আপনার I/O operations কে আরও কার্যকরী এবং সহজ করে তোলে। Apache Commons IO লাইব্রেরি ব্যবহারের মাধ্যমে আপনি File I/O এবং Directory I/O সম্পর্কিত অনেক সাধারণ কাজ খুব সহজে সম্পন্ন করতে পারেন।
Apache Commons IO লাইব্রেরি Java-তে ফাইল এবং ডিরেক্টরি সম্পর্কিত অনেক কার্যক্রম সহজ করতে সাহায্য করে। এর মধ্যে দুটি গুরুত্বপূর্ণ মেথড moveFile এবং deleteDirectory, যা ফাইল মুভ এবং ডিরেক্টরি মুছে ফেলা সম্পর্কিত কাজ সম্পাদন করতে ব্যবহৃত হয়। এগুলি Java এর স্ট্যান্ডার্ড লাইব্রেরি দিয়ে করা তুলনামূলকভাবে অনেক সহজ এবং দ্রুত।
এই লেখায় আমরা moveFile এবং deleteDirectory মেথডের মাধ্যমে ফাইল মুভ এবং ডিরেক্টরি মুছে ফেলার উদাহরণ দেখব।
moveFile মেথডটি একটি ফাইল একটি লোকেশন থেকে অন্য লোকেশনে সরাতে ব্যবহৃত হয়। এটি মূলত FileUtils.moveFile() মেথডের মাধ্যমে করা হয়, যা একটি ফাইলকে এক জায়গা থেকে অন্য জায়গায় স্থানান্তর করে। এটি একই সময় ফাইলটি কপি এবং ডিলিট করে।
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
public class MoveFileExample {
public static void main(String[] args) {
try {
// Create source and destination files
File sourceFile = new File("source.txt");
File destinationFile = new File("destination.txt");
// Move the file from source to destination
FileUtils.moveFile(sourceFile, destinationFile);
System.out.println("File moved successfully!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
এখানে:
FileUtils.moveFile()
মেথডটি source.txt ফাইলকে destination.txt ফাইলে মুভ করে।deleteDirectory মেথডটি একটি ডিরেক্টরি এবং তার সমস্ত কনটেন্ট (ফাইল এবং সাব-ডিরেক্টরি) মুছে ফেলার জন্য ব্যবহৃত হয়। FileUtils.deleteDirectory() মেথডটি ব্যবহার করে আপনি একটি ডিরেক্টরি এবং তার সব ফাইল/ফোল্ডার ডিলিট করতে পারবেন।
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
public class DeleteDirectoryExample {
public static void main(String[] args) {
try {
// Specify the directory to be deleted
File directory = new File("directoryToDelete");
// Delete the directory and all its contents
FileUtils.deleteDirectory(directory);
System.out.println("Directory deleted successfully!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
এখানে:
FileUtils.deleteDirectory()
মেথডটি directoryToDelete নামক ডিরেক্টরি এবং তার সমস্ত কনটেন্ট মুছে ফেলে।মেথড | বর্ণনা | উদাহরণ |
---|---|---|
moveFile | একটি ফাইল এক জায়গা থেকে অন্য জায়গায় মুভ করে। এটি ফাইল কপি এবং তারপরে মূল ফাইলটি মুছে ফেলে। | ফাইলটি একটি লোকেশন থেকে অন্য লোকেশনে সরানো। |
deleteDirectory | একটি ডিরেক্টরি এবং তার সমস্ত কনটেন্ট (ফাইল এবং সাব-ডিরেক্টরি) মুছে ফেলে। | ডিরেক্টরি এবং তার সকল ফাইল/ফোল্ডার মুছে ফেলা। |
Apache Commons IO লাইব্রেরির moveFile এবং deleteDirectory মেথডগুলি ফাইল এবং ডিরেক্টরি ম্যানিপুলেশনের জন্য অত্যন্ত কার্যকরী এবং সহজ উপায় প্রদান করে। moveFile মেথডটি ফাইলের স্থান পরিবর্তন করতে সাহায্য করে, যেখানে deleteDirectory মেথডটি ডিরেক্টরি এবং তার সকল কনটেন্ট মুছে ফেলার জন্য ব্যবহৃত হয়। এই দুটি মেথডের মাধ্যমে আপনি Java IO কার্যক্রমগুলোকে আরও দ্রুত, নিরাপদ এবং সহজভাবে পরিচালনা করতে পারবেন।
Apache Commons IO লাইব্রেরি ফাইল এবং ডিরেক্টরি সম্পর্কিত কাজগুলোকে সহজ ও কার্যকরী করে তোলে। FileUtils ক্লাসটি বিশেষভাবে ফাইল এবং ডিরেক্টরি তৈরি, মুছে ফেলা, কপি করা, রেনেম করা ইত্যাদি কাজের জন্য অত্যন্ত উপকারী। এই পোস্টে আমরা দেখব কীভাবে Apache Commons IO ব্যবহার করে ফাইল এবং ডিরেক্টরি তৈরি করা যায়।
Apache Commons IO লাইব্রেরি ব্যবহার করে খুব সহজেই নতুন ফাইল তৈরি করা যায়। FileUtils ক্লাসের touch()
মেথড ব্যবহার করে একটি ফাইল তৈরি করা সম্ভব, যদি তা আগে থেকে উপস্থিত না থাকে।
FileUtils.touch()
মেথড ব্যবহার করে ফাইল তৈরি করাimport org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
public class FileCreationExample {
public static void main(String[] args) {
// File object তৈরি
File file = new File("example.txt");
try {
// ফাইল তৈরি করুন যদি এটি আগে না থাকে
FileUtils.touch(file);
System.out.println("ফাইল তৈরি করা হয়েছে: " + file.getAbsolutePath());
} catch (IOException e) {
e.printStackTrace();
}
}
}
FileUtils.touch(file)
মেথডটি ফাইল তৈরি করে যদি তা পূর্বে না থাকে।ফাইল তৈরি করা হয়েছে: C:\path\to\your\example.txt
Apache Commons IO ব্যবহার করে নতুন ডিরেক্টরি তৈরি করা খুব সহজ। FileUtils ক্লাসের mkdirs()
মেথড ব্যবহার করে আপনি একটি নতুন ডিরেক্টরি (এবং প্রয়োজন হলে প্যারেন্ট ডিরেক্টরি) তৈরি করতে পারেন।
FileUtils.mkdirs()
মেথড ব্যবহার করে ডিরেক্টরি তৈরি করাimport org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
public class DirectoryCreationExample {
public static void main(String[] args) {
// নতুন ডিরেক্টরি অবজেক্ট তৈরি
File directory = new File("exampleDir/subDir");
try {
// ডিরেক্টরি তৈরি করুন (যদি না থাকে)
FileUtils.mkdirs(directory);
System.out.println("ডিরেক্টরি তৈরি করা হয়েছে: " + directory.getAbsolutePath());
} catch (IOException e) {
e.printStackTrace();
}
}
}
FileUtils.mkdirs(directory)
মেথডটি একটি নতুন ডিরেক্টরি এবং তার প্যারেন্ট ডিরেক্টরি তৈরি করবে যদি তা আগে না থাকে।ডিরেক্টরি তৈরি করা হয়েছে: C:\path\to\your\exampleDir\subDir
কখনও কখনও, আপনি চাইবেন যে ফাইল বা ডিরেক্টরি তৈরি করার পর তা সঠিকভাবে তৈরি হয়েছে কিনা তা পরীক্ষা করুন। exists()
মেথড ব্যবহার করে আপনি ডিরেক্টরি বা ফাইলের অস্তিত্ব পরীক্ষা করতে পারেন।
import java.io.File;
public class FileDirectoryCheck {
public static void main(String[] args) {
// ফাইল এবং ডিরেক্টরি অবজেক্ট তৈরি
File file = new File("example.txt");
File directory = new File("exampleDir");
// ফাইল এবং ডিরেক্টরি পরীক্ষা
if (file.exists()) {
System.out.println("ফাইল বিদ্যমান: " + file.getAbsolutePath());
} else {
System.out.println("ফাইলটি তৈরি হয়নি: " + file.getAbsolutePath());
}
if (directory.exists()) {
System.out.println("ডিরেক্টরি বিদ্যমান: " + directory.getAbsolutePath());
} else {
System.out.println("ডিরেক্টরি তৈরি হয়নি: " + directory.getAbsolutePath());
}
}
}
ফাইল বিদ্যমান: C:\path\to\your\example.txt
ডিরেক্টরি বিদ্যমান: C:\path\to\your\exampleDir
Apache Commons IO আরও কিছু গুরুত্বপূর্ণ বৈশিষ্ট্য সরবরাহ করে যা ফাইল এবং ডিরেক্টরি তৈরি করার সময় বিভিন্ন বিকল্প প্রয়োগ করতে সাহায্য করে। উদাহরণস্বরূপ:
force
ফ্ল্যাগ: ফোর্সডভাবে ফাইল বা ডিরেক্টরি তৈরি করা।write
পদ্ধতি: ফাইল লেখার সময় কিছু অতিরিক্ত প্রক্রিয়া প্রয়োগ করা।যদি আপনি FileUtils
এর অন্যান্য মেথড ব্যবহার করতে চান, যেমন write বা copy মেথড, তবে আপনাকে ফাইল এবং ডিরেক্টরি তৈরির ক্ষেত্রে আরও কার্যকরী উপায় প্রয়োগ করতে হবে।
Apache Commons IO লাইব্রেরি ফাইল এবং ডিরেক্টরি তৈরি করতে খুবই কার্যকরী এবং সহজ উপায় সরবরাহ করে। FileUtils ক্লাসের touch()
এবং mkdirs()
মেথড ব্যবহার করে আপনি সহজে নতুন ফাইল এবং ডিরেক্টরি তৈরি করতে পারেন। এই লাইব্রেরিটি ফাইল সিস্টেমের সাথে কাজ করার সময় জটিলতা কমাতে সাহায্য করে এবং আপনাকে দ্রুত ও কার্যকরী কোড লিখতে সহায়তা করে।
Apache Commons IO লাইব্রেরি ফাইল এবং ডিরেক্টরি ম্যানিপুলেশনের জন্য বিভিন্ন সহজ ইউটিলিটি ক্লাস প্রদান করে। এর মধ্যে FileUtils এবং FilenameUtils ক্লাস ব্যবহার করে ফাইলের আকার এবং মডিফাই করার তারিখ চেক করা খুবই সহজ। এখানে আমরা বিস্তারিতভাবে দেখব কিভাবে ফাইল আকার এবং ফাইলের মডিফাই করার তারিখ বের করা যায়।
ফাইলের আকার (size) বের করার জন্য আপনি FileUtils ক্লাসের sizeOf() মেথড ব্যবহার করতে পারেন। এটি একটি ফাইলের আকার বাইট (bytes) আকারে প্রদান করে।
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
public class FileSizeExample {
public static void main(String[] args) {
// Create a File object pointing to a specific file
File file = new File("example.txt");
// Get file size using FileUtils
long fileSize = FileUtils.sizeOf(file);
// Print the file size
System.out.println("File size in bytes: " + fileSize);
}
}
এখানে:
// Convert the file size to kilobytes (KB) and megabytes (MB)
double sizeInKB = fileSize / 1024.0;
double sizeInMB = sizeInKB / 1024.0;
System.out.println("File size in KB: " + sizeInKB);
System.out.println("File size in MB: " + sizeInMB);
এখানে:
ফাইলের মডিফাই করার তারিখ বের করার জন্য FileUtils ক্লাসের lastModified() মেথড ব্যবহার করা যেতে পারে। এই মেথডটি ফাইলের সর্বশেষ মডিফাই করার তারিখ এবং সময় প্রদান করে।
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
import java.util.Date;
public class FileLastModifiedExample {
public static void main(String[] args) {
// Create a File object pointing to a specific file
File file = new File("example.txt");
// Get the last modified date of the file using FileUtils
long lastModified = FileUtils.lastModified(file);
// Convert the last modified time to a Date object
Date lastModifiedDate = new Date(lastModified);
// Print the last modified date
System.out.println("File last modified on: " + lastModifiedDate);
}
}
এখানে:
আপনি একসাথে ফাইল আকার এবং মডিফাই করার তারিখ চেক করতে পারেন। নিচে একটি উদাহরণ দেওয়া হল যেখানে আমরা দুটি কাজ একসাথে করেছি।
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
import java.util.Date;
public class FileDetailsExample {
public static void main(String[] args) {
// Create a File object pointing to a specific file
File file = new File("example.txt");
try {
// Get file size
long fileSize = FileUtils.sizeOf(file);
// Get the last modified date
long lastModified = FileUtils.lastModified(file);
Date lastModifiedDate = new Date(lastModified);
// Convert size to KB and MB
double sizeInKB = fileSize / 1024.0;
double sizeInMB = sizeInKB / 1024.0;
// Print file size and last modified date
System.out.println("File size in bytes: " + fileSize);
System.out.println("File size in KB: " + sizeInKB);
System.out.println("File size in MB: " + sizeInMB);
System.out.println("File last modified on: " + lastModifiedDate);
} catch (Exception e) {
e.printStackTrace();
}
}
}
এখানে:
Apache Commons IO লাইব্রেরি ব্যবহার করে ফাইলের আকার এবং মডিফাই করার তারিখ চেক করা খুবই সহজ। FileUtils.sizeOf() মেথড দিয়ে ফাইলের আকার বের করা যায় এবং FileUtils.lastModified() মেথড দিয়ে ফাইলের সর্বশেষ মডিফাই করার তারিখ পাওয়া যায়। এই দুটি মেথড Java I/O এর উপর ভিত্তি করে ফাইল সম্পর্কিত গুরুত্বপূর্ণ তথ্য খুব সহজে এক্সেস করতে সাহায্য করে।
common.read_more